package com.ruoyi.project.erp.service;

import java.util.List;
import com.ruoyi.project.erp.domain.WorklogApproval;
import com.ruoyi.project.erp.dto.WorkLogApprovalDto;
import com.ruoyi.project.erp.dto.WorklogApprovalQuery;
import com.ruoyi.project.erp.vo.MyWorkLogApprovalVo;
import com.ruoyi.project.erp.vo.WorklogApprovalVO;

/**
 * 工时审批流Service接口
 * 
 * @author ruoyi
 * @date 2025-06-19
 */
public interface IWorklogApprovalService 
{
    /**
     * 查询工时审批流
     * 
     * @param id 工时审批流主键
     * @return 工时审批流
     */
    public WorklogApproval selectWorklogApprovalById(Long id);

    /**
     * 查询工时审批流列表
     * 
     * @param worklogApproval 工时审批流
     * @return 工时审批流集合
     */
    public List<WorklogApproval> selectWorklogApprovalList(WorklogApproval worklogApproval);

    /**
     * 新增工时审批流
     * 
     * @param worklogApproval 工时审批流
     * @return 结果
     */
    public int insertWorklogApproval(WorklogApproval worklogApproval);

    /**
     * 修改工时审批流
     * 
     * @param worklogApproval 工时审批流
     * @return 结果
     */
    public int updateWorklogApproval(WorklogApproval worklogApproval);

    /**
     * 批量删除工时审批流
     * 
     * @param ids 需要删除的工时审批流主键集合
     * @return 结果
     */
    public int deleteWorklogApprovalByIds(Long[] ids);

    /**
     * 删除工时审批流信息
     * 
     * @param id 工时审批流主键
     * @return 结果
     */
    public int deleteWorklogApprovalById(Long id);

    int workLogApproval(WorkLogApprovalDto dto);

    List<MyWorkLogApprovalVo> queryMyApprovalList();

    List<WorklogApprovalVO> selectList(WorklogApprovalQuery query);
}
